#include "NetUtils.hpp"

bool NetUtils::is_hex_char(const char &c)
{
  if ((c >= '0' && c <= '9') || (c >= 'A' && c <= 'F') || (c >= 'a' && c <= 'f'))
    return true;
  return false;
}

bool NetUtils::is_valid_mac(const std::string &mac)
{
  if (mac.length() != 17)
    return false;
  for (int i = 0; i < 17; ++i)
    {
      if ((i + 1) % 3)
	{
	  if (!NetUtils::is_hex_char(mac[i]))
	    return false;
	}
      else
	{
	  if (mac[i] != ':' && mac[i] != '-')
	    return false;
	}
    }
  return true;
}
